//
//  main.m
//  08-类的扩展
//
//  Created by dllo on 16/7/13.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NSObject+SayHello.h"
#import "NSString+FirstCharacterCapital.h"
#import "Student.h"
#import "Purchaser.h"

int main(int argc, const char * argv[]) {
  //类的扩展方式
    // Category(类别,类目,分类)
    //   1> Category
    //      通过Object-C File创建
    //      会产生两个文件.m .h
    //      文件名会以 类名+Category名
    //      2> Category的使用
    //      向对应文件添加需要的方法
    //      引入到你对应要使用的位置
    NSObject *objc = [[NSObject alloc] init];
    [objc sayHello];
    NSString *str = @"sha";
    NSString *str1 = [str firstCharacterCapitalWithString];
    NSLog(@"%@", str1);
    
    // 2.Extension
    // 延展,一般定义在.m中,其中声明一些私有的属性 / 方法
    // 保持.h的整洁
    
    // 3. 代理Delegate设计模式
    // 举例: 海外代购
    Student *stu = [[Student alloc] init];
    Purchaser *pur = [[Purchaser alloc] init];
    // 设定代理人
    stu.delegate = pur;
    [stu seeWebChat];
    
    
    
    
    
    return 0;
}
